# 使用 continuumio/anamamba3 作为基础镜像，它包含了 mamba/mamba
FROM condaforge/miniforge3:latest

# 设置 mamba 换源为清华大学镜像站
RUN conda config --set show_channel_urls yes && \
    conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ && \
    conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r && \
    conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 && \
    conda config --set custom_channels.bioconda http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

# 设置工作目录
WORKDIR /app

# 复制 environment.yml 文件到容器中
COPY environment.yml .

# 使用 mamba 创建环境并安装依赖
RUN mamba env create -f environment.yml && \
    echo "envs_dirs:" >> /root/.condarc && \
    echo "  - /mnt/mamba_env/envs" >> /root/.condarc && \
    echo "pkgs_dirs:" >> /root/.condarc && \
    echo "  - /mnt/mamba_env/pkgs" >> /root/.condarc

# 激活环境并确保在后续命令中使用
SHELL ["mamba", "run", "-n", "kmcloud2", "/bin/bash", "-c"]

# 不再复制项目代码到容器中
# COPY . .

# 暴露端口
EXPOSE 5000

# 启动命令
CMD ["conda", "run", "--no-capture-output", "-n", "kmcloud2", "python", "app.py"]